<?php
/**
 * @version 2.0.0
 * @author tuadmin
 * se encarga de gestionar los controladores
 */
$ARCHIVO = URI::getController(ROUTER,$argumentos,'principal');
$METODO = array_shift($argumentos);
$METODO = is_null($METODO)?'_default':$METODO;
$RESULTADO = '';
if(file_exists(BASE_PATH . DS . 'plataforma' . DS . 'controlador' . DS . $ARCHIVO . '.php'))
{
	require BASE_PATH . DS . 'plataforma' . DS . 'controlador' . DS . $ARCHIVO . '.php';
	$clase = new $ARCHIVO($TPL);
	if(method_exists($clase,'_condition'))
	{
		$condicion = $clase->_condition($METODO,$argumentos);
		if(isset($condicion[strtolower($METODO)]))
		{
			switch(true)
			{
				case is_bool($condicion[strtolower($METODO)]):
					$RESULTADO = call_user_func_array(array($clase,$METODO),$argumentos);
				break;
				case is_array($condicion[strtolower($METODO)]):
					$RESULTADO = '';
					foreach($condicion[strtolower($METODO)] as $method)
					{
						$RESULTADO .= is_string($method)? call_user_func_array(array($clase,$method),$argumentos) : null;
					}
				break;
				default : $RESULTADO = "No tiene acceso al controlador";
			}
			/*
			if((bool)$condicion[strtolower($METODO)])
			{
				$RESULTADO = call_user_func_array(array($clase,$METODO),$argumentos);
			}
			else 
			{
				$RESULTADO = "No tiene acceso al controlador";
			}*/
		}
		else
		{
			$RESULTADO = call_user_func_array(array($clase,$METODO),$argumentos);
		}
	}
	else
	{
		$RESULTADO = call_user_func_array(array($clase,$METODO),$argumentos);
	}
}
